package com.ms.service.inter;

import com.ms.entity.Notice;
import java.util.List;

public interface NoticeService {

    /**
     * 保存通知
     * @param notice 通知对象
     * @return 保存结果
     */
    boolean save(Notice notice);

    /**
     * 根据ID查找通知
     * @param id 通知ID
     * @return 通知对象
     */
    Notice findById(Integer id);

    /**
     * 更新通知
     * @param notice 通知对象
     * @return 更新结果
     */
    boolean update(Notice notice);

    /**
     * 删除通知
     * @param id 通知ID
     * @return 删除结果
     */
    boolean delete(Integer id);

    /**
     * 获取所有通知
     * @return 通知列表
     */
    List<Notice> findAll();

    /**
     * 根据接收者类型获取通知
     * @param receiverType 接收者类型
     * @return 通知列表
     */
    List<Notice> findByReceiverType(Integer receiverType);

    /**
     * 根据是否审核获取通知
     * @param isUsing 是否审核通过
     * @return 通知列表
     */
    List<Notice> findByIsUsing(Boolean isUsing);
    
    /**
     * 根据发送者类型和发送者ID获取通知
     * @param senderType 发送者类型
     * @param senderId 发送者ID
     * @return 通知列表
     */
    List<Notice> findBySenderTypeAndSenderId(Integer senderType, Integer senderId);
}